As media production migrates to packet based data infrastructure, the industry's need to switch cleanly within this infrastructure, or fabric, continues to increase.
In general, television production requires a clean transition between sources, which is a practice that is well documented in the recommend practice SMPTE RP-168 (i.e., “for synchronizing video switching defined vertical interval switching point”). For RP-168, infrastructures assume that all sources for a common video frame rate are co-timed to a master clock, typically color black, or tri-level sync, and signals are managed within the facility to be in tight phase alignment, e.g., much less than one half line of video. While existing technologies developed by the current Applicant have provided for switching these new, packetized signals “on the wire”, in the packetized domain, the signals must still be co-timed.
Moreover, it is known in this industry that a vertical switch is a break-make switch that occurs instantly, during the vertical blanking interval. A clean switch requires that two video sources be present at some point in the system, typically at the receiver located at the edge, or endpoint, of the network. Moreover, to perform the clean switch, these two signals must be present for some period of time, for example, one frame or a significant portion of a frame of video. There are a number of compromised ways to emulate the vertical switch. These methods differ based on how much delay is added to the video signals, how much bandwidth is required, how long the additional bandwidth is required, and how quickly the switch can be made, based upon initiating the request to switch and the like.
Due to advances in the current technologies, existing IP routers rarely, if ever, fragment packets. But even with this improvement in routing technologies, there is still a challenge in that existing IP routers will change routes based on an Internet Group Management Protocol (“IGMP”) command sequence, a standard route change request which is in-band, or an Software-Defined Network (“SDN”) command. In all cases, the request to make the change and the instant at which the change is made, are unaware of the vertical interval. As a result, the switch is highly likely to occur during the active portion of the picture, which is not desirable since the switch will be perceived by the viewer, as visible artifacts or “glitching”.
To address this issue, the current Applicant has also designed a scalable physical layer flow processor for packetized media that facilitates packet switching to be vertically accurate. This technique is described in U.S. Patent Provisional Application No. 62/385,205, filed Sep. 8, 2016, the entire contents of which are hereby incorporated by reference. As described therein, the system changes memory read pointer values at the vertical interval. However, this approach still requires upstream orchestration of the IP router to generate the pre-select, and there are two signals such that twice the bandwidth is consumed at least for some time.
To further complicate the switching process, it is necessary to consider that modern switch designs favors a leaf-and-spine architecture for larger facilities, or even within the chassis of a modular router. In fact, this design is now the de-facto topology for data centers and Content Data Networks (“CDNs”). In this case, it becomes important to sequence the switch action of three pieces of equipment: the leaf router, the spine router, and then the leaf router, or three modules: I/O then fabric then I/O. U.S. Pat. No. 6,430,179, entitled “Three Stage Router for Broadcast Application”, which is hereby incorporated by reference, explains this sequencing's importance and provides a solution for legacy, SDI type signals.
Recently, certain router designs have been proposed to change the port address in the IP 5-tuple, which is a set of five different values that comprise a transmission control protocol/Internet protocol (TCP/IP) connection, including a source IP address/port number, a destination IP address/port number and the protocol in use. For example, one existing design inspects the User Datagram Protocol (“UDP”) port address, and then executes an action based upon a change in value to execute a vertically accurate switch. However, this design requires significant orchestration with every piece of source equipment that feeds the data to the router. As a result, each device must be queued in advance with the correct new port address, so that at the next vertical interval, which the source device deduces from an externally applied reference, the port address can be changed by the source equipment to include the new destination address. It is understood that the overhead cost for implementing such a system is significantly high and it implies that every source device must comply with some control standard for this capability.
Adoption of this technology seems highly unlikely as every source device would need to be customized to perform the necessary switching. Additionally, there is a problem with adding a destination to this source, i.e., having a new join command add a destination to a current multicast group. The port address cannot necessarily change, so the router cannot easily determine how to start forwarding packets to a new address. Moreover, if IGMP is used, then there is no way to indicate at what instant in time the join command should occur.
Accordingly, there is a need for a system and method that facilitates data flow switches at more precise times without double bandwidth scaling.